#ifndef CHECKINDATA_H
#define CHECKINDATA_H

#include "BaseData.h"

struct CheckInRequestPcuInfo{
    std::string locationNo;
    std::string pcu;
};

struct CheckInResponsePcuInfo{
    std::string locationNo;
    std::string pcu;
    std::string resultMsg;
};

class CheckInData
{
public:
    void setLocationNo(const std::string& location){locationNo = location;}
    std::string getLocationNo()const{return locationNo;}

    void setPCU (const std::string& pcu){this->pcu=pcu;}
    std::string getPCU(){return this->pcu;}

    void setResultMsg(const std::string& msg){this->resultMsg=msg;}
    std::string getResultMsg(){return this->resultMsg;}

    void setBatch(const std::string batch){this->batch=batch;}
    std::string getBatch(){return this->batch;}


    void setRequestPcuInfo(const std::list<CheckInRequestPcuInfo>& pcuInfo){requestPcuInfo = pcuInfo;}
    std::list<CheckInRequestPcuInfo> getRequestPcuInfo(){return requestPcuInfo;}

    void setResponsePcuInfo(const std::list<CheckInResponsePcuInfo>& pcuInfo){responsePcuInfo= pcuInfo;}
    std::list<CheckInResponsePcuInfo> getResponsePcuInfo(){return responsePcuInfo;}

private:
    friend class BaseData<CheckInData>;
    CheckInData()=default;

    std::string locationNo;
    std::string pcu;
    std::string resultMsg;
    std::string batch;


    std::list<CheckInRequestPcuInfo> requestPcuInfo;
    std::list<CheckInResponsePcuInfo> responsePcuInfo;

};

#endif // CHECKINDATA_H
